layui.use(['table','layer'], function(){
    var table = layui.table;
    var layer = layui.layer;

    table.render({
        elem: '#mainDataGrid'
        ,url:'/roleRest/layuiList'
        ,height:common.mainHeight
        ,limits:[5,10,15]
        ,page: true
        ,toolbar: '#toolbar' //开启头部工具栏，并为其绑定左侧模板
        ,cols: [[
            {type: 'checkbox', fixed: 'left'}
            ,{field:'roleName', width:150, title: '角色名称'}
            ,{field:'rightName', width:150, title: '拥有权限'}
            ,{fixed: 'right', title:'操作', align:'center', toolbar: '#linebar', width:100}
        ]]
        ,id:"mainDataGrid"
        ,done: function (res, curr, count){
            $("table").css("width", "100%");
        }
    });

    //头工具栏事件
    table.on('toolbar(mainDataGrid)', function(obj){
        var layEvent = obj.event;
        var checkStatus = table.checkStatus(obj.config.id);
        var datas = checkStatus.data;
        switch(layEvent){
            case 'add':
                layer.open({
                    type: 1, //layer的5种层类型   0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
                    title: ['添加数据', 'font-size:14px;'],  //弹出框标题
                    shade: [0.5, '#393D49'],     //遮罩层
                    shadeClose:true,          //点击遮罩层外区域关闭遮罩层
                    area: ['600px', '350px'],    //弹出框大小
                    anim: 1,              //弹出动画
                    content:$("#addFormDiv")
                });
                break;
            case 'delete':
                if(datas.length<=0){
                    layer.msg("至少选择一行");
                }else{
                    deleteByIds(table,layer,datas,"/roleRest/delete");
                }
                break;
            case 'search':
                layer.open({
                    type: 1, //layer的5种层类型   0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
                    title: ['条件查询', 'font-size:14px;'],  //弹出框标题
                    shade: [0.5, '#393D49'],     //遮罩层
                    shadeClose:true,          //点击遮罩层外区域关闭遮罩层
                    area: ['600px', '200px'],    //弹出框大小
                    anim: 1,              //弹出动画
                    content:$("#searchFormDiv")
                });
                break;
        };
    });

    //监听行工具事件
    table.on('tool(mainDataGrid)', function(obj){
        var data = obj.data;
        if(obj.event === 'del'){
            layer.confirm('真的删除行么', function(index){
                obj.del();
                layer.close(index);
            });
        } else if(obj.event === 'edit'){
            showData(data);

            layer.open({
                type: 1, //layer的5种层类型   0（信息框，默认）1（页面层）2（iframe层）3（加载层）4（tips层）
                title: ['修改数据', 'font-size:14px;'],  //弹出框标题
                shade: [0.5, '#393D49'],     //遮罩层
                shadeClose:true,          //点击遮罩层外区域关闭遮罩层
                area: ['600px', '350px'],    //弹出框大小
                anim: 1,              //弹出动画
                content:$("#updateFormDiv")
            });
        }
    });

    //添加数据表单验证
    $('#addForm').bootstrapValidator({
        message: 'This value is not valid',
        //提供输入验证图标提示
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            "po.roleName": {
                message: '角色名称校验失败',
                validators: {
                    threshold :2,
                    notEmpty: {
                        message: '角色名称不能为空'
                    },
                    stringLength: {
                        min: 2,
                        max: 10,
                        message: '角色名称长度必须在2到10之间'
                    }
                }
            },
            "po.rightName": {
                message: '拥有权限校验失败',
                validators: {
                    threshold :2,
                    notEmpty: {
                        message: '拥有权限不能为空'
                    },
                    stringLength: {
                        max: 100,
                        message: '拥有权限长度100之间'
                    }
                }
            }
        }
    }).on('success.form.bv', function(e) {//点击提交之后
        saveOrUpdate(e,table,layer,"mainDataGrid");
    });

    $('#searchForm').bootstrapValidator({
        message: 'This value is not valid',
        //提供输入验证图标提示
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {

        }
    }).on('success.form.bv', function(e) {//点击提交之后
            commonAction(e);

            //刷新分页界面
            table.reload("mainDataGrid", {
                page: {
                    curr: 1 //重新从第 1 页开始
                },
                where: {
                    "po.roleName": $("#roleNameSearch").val(),
                }
            });

            commonEndAction(e,layer);
    });

    //修改数据表单验证
    $('#updateForm').bootstrapValidator({
        message: 'This value is not valid',
        //提供输入验证图标提示
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            "po.roleName": {
                message: '角色名称校验失败',
                validators: {
                    threshold :2,
                    notEmpty: {
                        message: '角色名称不能为空'
                    },
                    stringLength: {
                        min: 2,
                        max: 10,
                        message: '角色名称长度必须在2到10之间'
                    }
                }
            },
            "po.rightName": {
                message: '拥有权限校验失败',
                validators: {
                    threshold :2,
                    notEmpty: {
                        message: '拥有权限不能为空'
                    },
                    stringLength: {
                        max: 100,
                        message: '拥有权限长度100之间'
                    }
                }
            }
        }
    }).on('success.form.bv', function(e) {//点击提交之后
        saveOrUpdate(e,table,layer,"mainDataGrid");
    });
});